AngularJs 学习笔记(四)

个人笔记整理,有误欢迎指正

作者 Mr.Woo 日期 2016-12-06
AngularJs 学习笔记(四)

AngularJs 学习笔记(四)


AngularJs配置块和运行块

一、配置块

AngularJS模块可以在被加载和执行之前对其自身进行配置。我们可以在应用的加载阶段配置不同的逻辑。

  • 通过config方法实现对模块的配置,AngularJs中的服务大部分都对应 一个“provider”

  • 用来执行与之对应的服务相同的功能或对其进行配置。

  • 比如$log、$http、$location都是内置服务,其相应的“provider”分别是$logProvider、$httpProvider、$locationProvider
var app = angular.module('app',[]);
app.controller('wooController',
['$scope','$log',function ($scope,$log) {

 $log.debug('调试信息');
 $log.debug('调试信息');
 $scope.price = "hello";

}]);

配置过程
* $http
* $log
* $filter
* provider 在每一个服务当中都会有一个provider来指定的功能进行配置

app.config(['$logProvider',function ($logProvider) {
     $logProvider.debugEnabled(false);
}]);

app.config(['$filterProvider',function ($filterProvider) {

     $filterProvider.register('firstUpp',function () {

          可以在配置过程中,给过滤器添加过滤功能
         return function (input) {
          return input[0].toUpperCase() + input.slice(1);
       }
    })
 }]);

二、运行块

  • 服务也是模块形式存在的且对外提供特定功能
  • 服务是以依赖注入进去的,然后再进行调用。
  • 除了这种方式外我们也可以直接运行相应的服务模块
  • AngularJs提供了run方法来实现
  • run方法还是最先执行的,利用这个特点我们可以将一些需要优先执行的功能通过run方法来运行
  • 比如验证用户是否登录,未登录则不允许进行任何其他操作
var app = angular.module('app',[]);
 全局作用域
 根作用域
 ng程序一执行就会调用run

app.run(['$http','$rootScope',function ($http,$rootScope)
{
     $http({
     url:'jsonp.php',
     method:'get',
     params:{
     callback:"woo"
 }
 }).success(function (res) {
     console.log(res);
     $rootScope.name = res;
    });
 }]);